//      graphscene.h
//      

#ifndef GRAPHSCENE_H
#define GRAPHSCENE_H

#include <QGraphicsScene>
#include <QPoint>
#include <QPointF>
#include <QPolygon>
#include <QPen>
#include <QBrush>
#include <QVector>
#include <QFont>
#include <QGraphicsItem>
#include <math.h>

class GraphScene: public QGraphicsScene
{
	public:
		GraphScene(QVector<quint16>* vertex_list = 0, QObject* parent = 0);
			
	private:
		quint16 scale;
		quint16 vertexDiam;
		QPoint vc[9]; // VertexCoordinates
		QVector<quint16>* vertex_path;
		
		void initializeVertexCoordinates();
		void drawArrows();
		void drawVertex();
		void drawArrow(qreal x1, qreal y1, qreal x2, qreal y2, bool fat = false);
		void drawArrowByVertex(quint16 v1, quint16 v2);
		void addTextLabels();
};

#endif /* GRAPHSCENE_H */ 


